In electronic logic modules such as application-specific integrated circuits (ASIC) for example, data lines or buses are used for communication between the individual components. In an ASIC, typically a microprocessor or a microcontroller is connected to several elements such as a memory and several input-output units for example, a data bus being provided for transmitting the actual data. An address bus, which transmits only memory addresses, is provided for controlling the individual components or also memory areas in the memory. For generating the required address signals, an address decoder is usually provided such that elements connected to the microprocessor can be controlled or addressed directly using the address signals.
For testing the operability of the individual elements of the logic module, address bus tests are provided among other things, in which memory areas in the memory are written in order to check the operability of connecting lines. For this purpose, values are written in all memory locations and the presence of all written values is checked. In a memory area of a size of 1 kb, 1,024 numbers are thus written and each number is checked individually. If one or several numbers are missing, then the address bus connection is defective.
For testing the data bus, usually several predefined values are written into a data register and read back again. In the event of full operability, it is possible to write and read any value, in this case, at a width of 16 bits, this amounts to 65,535 values.
A similar test must be performed to ensure the operability and integrity of the address bus in an ASIC. In this instance, however, one must be mindful of the fact that writing to registers in an ASIC may inadvertently trigger functions. In a test access operation, reactions may be triggered that are not plausible or legally not secured.